// 仅限数字,小数点后2位
export const onlyNumberLast2Digits = (_, value) => {
    if (!value) {
        return Promise.resolve()
    }
    if (!/^(([^0][0-9]+|0)\.([0-9]{1,2})$)|^(([^0][0-9]+|0)$)|^(([1-9]+)\.([0-9]{1,2})$)|^(([1-9]+)$)/.test(value)) {
        return Promise.reject(new Error('仅限数字,小数点后2位'))
    }
    return Promise.resolve()
}
// 仅限数字,小数点后4位
export const onlyNumberLast4Digits = (_, value) => {
    if (!value) {
        return Promise.resolve()
    }
    if (!/^(([^0][0-9]+|0)\.([0-9]{1,4})$)|^(([^0][0-9]+|0)$)|^(([1-9]+)\.([0-9]{1,4})$)|^(([1-9]+)$)/.test(value)) {
        return Promise.reject(new Error('仅限数字,小数点后4位'))
    }
    return Promise.resolve()
}
// 人名称-  仅限全角的· 、空格、汉字、中英文()、-
export const nameOfPeople = (_, value) => {
    if (!value) {
        return Promise.resolve()
    }
    if (!/^[\u4E00-\u9FA5A-Za-z()（）·-\s]+$/.test(value)) {
        return Promise.reject(new Error('仅限全角的· 、空格、汉字、中英文()、-'))
    }
    return Promise.resolve()
}
// 人名称2-  姓名不能输入特殊字符和数字
export const nameOfPeople2 = (_, value) => {
    if (!value) {
        return Promise.resolve()
    }
    if (!/^[\u0391-\uFFE5A-Za-z·]+$/.test(value)) {
        return Promise.reject(new Error('姓名不能输入特殊字符和数字'))
    }
    return Promise.resolve()
}
// 身份证验证
export const validateIdCard = (value) => {
    if (!value) {
        return Promise.resolve()
    }
    if (!/^[1-9]\d{5}(?:19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(value)) {
        return Promise.reject(new Error('请输入合法的居民身份证'))
    }
    return Promise.resolve()
}

// 固话(带-)手机号
export const verificationOfFixedPhoneNumber = (_, value) => {
    if (!value) {
        return Promise.resolve()
    }
    // 去除任何非数字字符
    const cleaned = value.replace(/\D/g, '');
    // 定义正则表达式验证规则
    const mobilePattern = /^1[3-9]\d{9}$/;
    const landlinePattern = /^\+?\d{1,4}-?\d{1,2}-?\d{3}-?\d{4}$/;
    // 验证是否符合手机号码或座机号码格式
    if (mobilePattern.test(cleaned) || landlinePattern.test(cleaned)) {
        return Promise.resolve()
    } else {
        return Promise.reject(new Error('请输入正确的联系方式'))
    }
}